﻿package birdry.display
{
	import flash.display.Sprite;

	public class BaseShape extends Sprite
	{
		// 생성자 : 반환 타입이 없다. { 접근자는 public만 가능 / private 접근자는 사용  X }
		public function BaseShape()
		{
			super();
			draw();
		}
		
		protected function draw(): void
		{
			// BaseShape를 상속받은 각 자식 클래스가 재정의해서.. 사용해야 한다..
			// Rect 클래스는 사각형을 그리고
			// Circle 클래스는 원을 그리고...
			throw  new Error( "BaseShape는 직접호출하지 말아주세요..-.-" );
			
		}
		
		
		private var _fillColor: uint = 0xFFFFFF;
		public function get fillColor() : uint
		{
			return this._fillColor;	
		}
		// setter : 변수기능 (저장기능) + 행위 
		public function set fillColor( value: uint ): void
		{
			this._fillColor = value;
			this.draw();
		}
		
		private var _fillAlpha: uint = 1;
		public function get fillAlpha() : uint
		{
			return this._fillAlpha;	
		}
		// setter : 변수기능 (저장기능) + 행위 
		public function set fillAlpha( value: uint ): void
		{
			this._fillAlpha = value;
			this.draw();
		}
		
		private var _lineThickness: uint = 1;
		public function get lineThickness() : uint
		{
			return this._lineThickness;
		}
		public function set lineThickness( value: uint ): void
		{
			this._lineThickness = value;
			this.draw();
		}
		
		private var _lineAlpha: uint = 1;
		public function get lineAlpha() : uint
		{
			return this._lineAlpha;
		}
		public function set lineAlpha( value: uint ): void
		{
			this._lineAlpha = value;
			this.draw();
		}
		
		private var _lineColor: uint = 0xFF0000;
		public function get lineColor() : uint
		{
			return this._lineColor;
		}
		public function set lineColor( value: uint ): void
		{
			this._lineColor = value;
			this.draw();
		}
		
		
	} // end of class
} // end of package







